#pragma once
#include "CGIPrefix.h"
namespace Alice
{
    enum EShaderStage
    {
        EShaderStageVertex,
        EShaderStageFragment,
        EShaderStageCompute,
        EShaderStageRayTracingGenRay,
        EShaderStageRayTracingClosetHit,
        EShaderStageRayTracingAnyHit,
        EShaderStageRayTracingMiss,
        EShaderStageRayTracingIntersection,
        EShaderStageRayTracingCallable
    };
    class PipelineStateObject
    {
    public:
        EShaderStage mVertexShader;
        EShaderStage mFragmentShader;
    };
}
#ifdef ALICE_OGL
#include "OpenGL/BufferOGL.h"
#elif ALICE_D3D11
#include "Direct3D/11/BufferD3D11.h"
#elif ALICE_D3D12
#include "Direct3D/12/BufferD3D12.h"
#endif